/*
 * ColeccionDeBits_gtest.h
 *
 *  Created on: 29/11/2012
 *      Author: diego
 */

#ifndef COLECCIONDEBITS_GTEST_H_
#define COLECCIONDEBITS_GTEST_H_

#include <gtest/gtest.h>

#include "../physical_layer/compresorGammaElias/ColeccionDeBits.h"

class ColeccionDeBitsTestFixture: public testing::Test {
public:
	//ColeccionDeBitsTestFixture();

    void SetUp()
    {
    }

    void TearDown()
    {
    }

	//virtual ~ColeccionDeBitsTestFixture();
};

TEST_F( ColeccionDeBitsTestFixture, Prueba )
{
	ColeccionDeBits* coleccionDeBits=new ColeccionDeBits();

	coleccionDeBits->agregarUnosAlFinal(2);

	std::vector<int>* coleccion=coleccionDeBits->obtenerColeccionDeBits();

	ASSERT_EQ(coleccion->at(0),1);
	ASSERT_EQ(coleccion->at(1),1);


	ColeccionDeBits* coleccionDeBits1=new ColeccionDeBits();

	coleccionDeBits1->agregarUnUnoAlFinal();
	coleccionDeBits1->agregarUnUnoAlFinal();
	coleccionDeBits1->agregarUnCeroAlFinal();
	coleccionDeBits1->agregarUnUnoAlFinal();

	ColeccionDeBits* coleccionDeBits2=coleccionDeBits1->obtenerCuatroBitsConsecutivos(0);


	ASSERT_EQ(coleccionDeBits2->obtenerElementoEnPosicion(0),1);
	ASSERT_EQ(coleccionDeBits2->obtenerElementoEnPosicion(1),1);
	ASSERT_EQ(coleccionDeBits2->obtenerElementoEnPosicion(2),0);
	ASSERT_EQ(coleccionDeBits2->obtenerElementoEnPosicion(3),1);



	}


#endif /* COLECCIONDEBITS_GTEST_H_ */
